Peter Hart - HW 1
PHYS 360
euler (generic function with 1 method)xxxxxxxxxx9
1
function euler(func,x0,t)2
dt = t[2]-t[1]3
sol = zeros(length(t))4
sol[1] = x05
for i in 1:length(t)-16
sol[i+1] = sol[i]+func(sol[i])*dt7
end8
return sol9
endProblem 2.2.2
| stability | |
|---|---|
| 1 | stable |
| -1 | unstable |
Problem 2.2.8

Problem 2.3.2
| stability | |
|---|---|
| 0 | unstable |
| stable |
Problem 2.3.3
a)
b)
Let
Problem 2.4.5
| stability | |
|---|---|
| 0 | half-stable |
Problem 2.7.1
| stability | |
|---|---|
| 0 | unstable |
| 1 | stable |
Computational Question
| stability | ||
|---|---|---|
| 1 | stable | -2 |
| -1 | unstable | 2 |
m (generic function with 1 method)xxxxxxxxxx1
1
m(x,p) = p[1]*x # Model to fit (linear)x
1
begin2
x01 = range(.5,stop=1.5,length=10)3
sol1 = [euler(y,x01[i],t) for i in 1:length(x01)]4
sol1_pert = [(s.-1)./(s[1]-1) for s in sol1] # δ(x)/δ(0)5
6
plot(t,sol1_pert,lc=:blue,legend=nothing)7
xlabel!("t")8
ylabel!(L"\frac{\delta (t)}{\delta (0)}")9
endxxxxxxxxxx1
begin2
fits1 = zeros(length(sol1_pert))3
for i in 1:length(sol1_pert)4
fit = curve_fit(m,t,log.(sol1_pert[i]),[0.0])5
fits1[i] = fit.param[1]6
end7
λ1 = mean(fits1)8
9
plot(t,sol1_pert,yaxis=:log,lc=:blue,label=nothing)10
plot!(t,exp.(λ1 .* t),lc=:red,lw=2,label="fit")11
12
xlabel!("t")13
ylabel!(L"\frac{\delta (t)}{\delta (0)}")14
endxxxxxxxxxx10
1
begin2
x02 = range(-.5,stop=-1.2,length=10)3
sol2 = [euler(y,x02[i],t) for i in 1:length(x02)]4
sol2_pert = [(s.+1)./(s[1]+1) for s in sol2]5
6
plot(t,sol2_pert,legend=nothing,lc=:blue)7
8
xlabel!("t")9
ylabel!(L"\frac{\delta (t)}{\delta (0)}")10
endxxxxxxxxxx1
begin2
fits2 = zeros(length(sol2_pert))3
for i in 1:length(sol2_pert)4
fit = curve_fit(m,t,log.(sol2_pert[i]),[0.0])5
fits2[i] = fit.param[1]6
end7
λ2 = mean(fits2)8
9
plot(t,sol2_pert,yaxis=:log,lc=:blue,label=nothing)10
plot!(t,exp.(λ2 .* t),lc=:red,lw=2,label="fit")11
12
xlabel!("t")13
ylabel!(L"\frac{\delta (t)}{\delta (0)}")14
end